package com.hyacinth.forumbite.config;

import io.minio.MinioClient;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "minio")
@Data
public class MinioConfig {
    private String endpoint;
    private String accessKey;
    private String secretKey;
    private String bucket;

    /**
     * MinioClient.builder(): 创建 MinioClient 实例（MinIO 客户端对象，用于与 MinIO 服务器交互）
     * .endpoint(endpoint)：设置 MinIO 服务器的地址（如 http://localhost:9000）
     * .credentials(accessKey, secretKey)：设置访问 MinIO 服务器的密钥对
     *
     * @return
     */
    @Bean
    public MinioClient minioClient() {
        return MinioClient.builder()
                .endpoint(endpoint)
                .credentials(accessKey, secretKey)
                .build();
    }
}
